收发相关 内容 概述 从订单事务生成收发单 从收发事务生成发票 概述 采购发票和销售发票 采购退货和销售退货发票 从订单事务生成收发单 查看C_Order相关流程的位置 select a.name as win_name, b.name as tab_name, b.whereclause as tab_where, t.name as tb_name, c.tablename as table_name, d.name as col_name, f.name as fld_name, f.displaylogic, e.name as prc_name from ad_window a join ad_tab b on a.ad_window_id = b.ad_window_id join ad_field f on f.ad_tab_id=b.ad_tab_id join ad_column d on d.ad_column_id=f.ad_column_id join ad_table c on b.ad_table_id = c.ad_table_id join ad_process e on d.ad_process_id=e.ad_process_id left join ad_toolbarbutton t on t.ad_tab_id=b.ad_tab_id where e.value ~'C_Order' and b.isreadonly='N' and A.entitytype='D' order by 1,2 结果:10 销售订单完成后,订单明细可以生成发货单(C_OrderLine_CreateShipment)。 测试: 1. 只能对当前明细生成入库单 2. 有“已出库数量”的逻辑检查(参考OrderLineCreateShipment.doIt L84) 采购订单不行,与实际相符。如果非要使用该流程, 1. 在采购订单tab添加一个field,找到column(CreateShipment) 2. 设置显示逻辑 3. 修改采购单据的入库单据类型(单据类型设置) 测试: 1. 只能对当前明细生成入库单 2. 可以重复生成入库(bug),需要修改“已入库数量”的逻辑检查。 从收发事务生成发票 查看M_InOut_CreateInvoice流程的位置 select a.name as win_name, b.name as tab_name, b.whereclause as tab_where, t.name as tb_name, c.tablename as table_name, d.name as col_name, f.name as fld_name, f.displaylogic, e.name as prc_name from ad_window a join ad_tab b on a.ad_window_id = b.ad_window_id join ad_field f on f.ad_tab_id=b.ad_tab_id join ad_column d on d.ad_column_id=f.ad_column_id join ad_table c on b.ad_table_id = c.ad_table_id join ad_process e on d.ad_process_id=e.ad_process_id left join ad_toolbarbutton t on t.ad_tab_id=b.ad_tab_id where e.value ~'CreateInvoice' and b.isreadonly='N' order by 1 无论是收货还是发货,该流程都可以生成发票。 系统默认“发货单”无法生成发票,修改显示逻辑,也可以。感觉以上4条的显示逻辑都没有必要。